#!/bin/bash

#crontab:0 3 * * * /home/csii/shell/cleanup_checkFile.sh >> /home/csii/shell/cleanup.log 2>&1
# 设置要清理的主目录
BASE_DIR="/oradata/rcvsplace/sheckFile"

# 设置需要遍历的子目录
SUB_DIRS=("alipayqrcode" "cups" "fdps" "point" "wechatqrcode")

# 获取当前日期，计算30天前的日期
THRESHOLD_DATE=$(date -d "-30 days" +%Y%m%d)

echo "清理 30 天前的过期文件夹，截止日期: $THRESHOLD_DATE"

# 遍历每个子目录
for subdir in "${SUB_DIRS[@]}"; do
    TARGET_DIR="$BASE_DIR/$subdir"
    
    if [ -d "$TARGET_DIR" ]; then
        echo "检查目录: $TARGET_DIR"
        
        # 查找所有名称符合日期格式的文件夹
        for folder in "$TARGET_DIR"/*; do
            folder_name=$(basename "$folder")
            # 判断文件夹名称是否是 8 位数字（即 YYYYMMDD 格式）
            if [[ $folder_name =~ ^[0-9]{8}$ ]]; then
                # 如果日期小于 THRESHOLD_DATE，则删除该文件夹
                if [[ $folder_name -lt $THRESHOLD_DATE ]]; then
                    echo "删除大于30天的对账文件夹: $folder"
                    rm -rf "$folder"
                fi
            fi
        done
    else
        echo "目录不存在: $TARGET_DIR"
    fi

done

echo "清理完成"
